package com.team2.hospital.utils;

import org.springframework.util.DigestUtils;

/**
 * Md5Util类用于生成MD5加密后的字符串，结合盐（salt）进行混淆增强加密效果。
 * 该工具类用于将传入的字符串进行MD5加密处理，并在加密前加入盐，增加安全性。
 */
public class Md5Util {

    // 盐，用于增强MD5加密的安全性。通常在生产环境中，盐的值应该更加复杂并存储在配置文件中。
    private static final String SALT = "asdwqAsd12_qS";

    /**
     * 获取字符串的MD5加密值，并结合盐值增强安全性。
     *
     * @param str 需要进行MD5加密的原始字符串
     * @return 返回加密后的MD5值（32位十六进制字符串）
     */
    public static String getMD5(String str) {
        // 将原始字符串与盐拼接
        String base = str + "/" + SALT;

        // 生成MD5加密后的字符串并返回
        return DigestUtils.md5DigestAsHex(base.getBytes());
    }
}
